package com.huike.dao;

import com.huike.po.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
@Mapper
/**
 * 好友相关的操作
 */
public interface FriendDAO {
    //根据账号获取所有的好友列表的基本信息
    public List<Friend> selectFriendListBasic(@Param("account") String account);
    //根据账号获取所有的好友列表的详细信息
    public List<UserDetail> selectFriendListDetail(@Param("account") String account);
    // 根据自己账户与好友账户搜索好友记录
    public Friend selectFriendRelation(@Param("account") String account, @Param("friendAccount") String friendAccount);
    //根据账号获取所有的好友分组
    public List<FriendGroup> selectFriendGroup (@Param("account") String account);
    // 根据好友分组id，查询分组名称
    public String selectFriendGroupNameById(@Param("id") String id);
    //设置好友在线订阅
    public boolean addSubscribe(@Param("account")String account, @Param("friendAccount")String friendAccount);
    //取消好友的在线订阅
    public boolean cancelSubscribe(@Param("account")String account, @Param("friendAccount")String friendAccount);

    //********************************丁总合入
    //修改好友备注
    public boolean updateFriendAlias(FriendShip friend);
    //修改好友标签
    public boolean updateFriendTags(FriendShip friend);
    //删除好友
    public boolean deleteFriend(@Param("account")String account, @Param("friendAccount")String friendAccount);
    //好友拉黑
    public boolean setFriendBlacked(FriendShip friend);
    //取消好友拉黑
    public boolean cancelFriendBlacked(FriendShip friend);
}
